home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / StormMesa / src / MGL / mmesa32.c < prev    next >
C/C++ Source or Header  |  1999-02-04  |  3KB  |  78 lines

  1. /****************************************************************************
  2. *
  3. *                        Mesa bindings for SciTech MGL
  4. *
  5. *               Copyright (C) 1996-1998 SciTech Software, Inc.
  6. *                            All rights reserved.
  7. *
  8. * Language:     ANSI C
  9. * Environment:    Any
  10. *
  11. * Description:    Optimized 32bpp rendering functions.
  12. *
  13. * This library is free software; you can redistribute it and/or
  14. * modify it under the terms of the GNU Library General Public
  15. * License as published by the Free Software Foundation; either
  16. * version 2 of the License, or (at your option) any later version.
  17. *
  18. * This library is distributed in the hope that it will be useful,
  19. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  21. * Library General Public License for more details.
  22. *
  23. * You should have received a copy of the GNU Library General Public
  24. * License along with this library; if not, write to the Free
  25. * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  26. *
  27. ****************************************************************************/
  28.  
  29. #include "mgl/mmesap.h"
  30.  
  31. /*------------------------- Implementation --------------------------------*/
  32.  
  33. #pragma warn -par
  34. #include "mgl/mmesai.c"
  35.  
  36. /**********************************************************************/
  37. /*****            Write spans of pixels                           *****/
  38. /**********************************************************************/
  39.  
  40. IMPLEMENT_WRITE_SPAN(32,ARGB,ulong);
  41. IMPLEMENT_WRITE_SPAN(32,ABGR,ulong);
  42. IMPLEMENT_WRITE_SPAN(32,RGBA,ulong);
  43. IMPLEMENT_WRITE_SPAN(32,BGRA,ulong);
  44. IMPLEMENT_WRITE_SPAN_RGB(32,ARGB,uchar);
  45. IMPLEMENT_WRITE_SPAN_RGB(32,ABGR,uchar);
  46. IMPLEMENT_WRITE_SPAN_RGB(32,RGBA,uchar);
  47. IMPLEMENT_WRITE_SPAN_RGB(32,BGRA,uchar);
  48. IMPLEMENT_WRITE_SPAN_MONO(32,ulong);
  49.  
  50. /**********************************************************************/
  51. /*****              Write arrays of pixels                        *****/
  52. /**********************************************************************/
  53.  
  54. IMPLEMENT_WRITE_PIXELS(32,ARGB,ulong);
  55. IMPLEMENT_WRITE_PIXELS(32,ABGR,ulong);
  56. IMPLEMENT_WRITE_PIXELS(32,RGBA,ulong);
  57. IMPLEMENT_WRITE_PIXELS(32,BGRA,ulong);
  58. IMPLEMENT_WRITE_PIXELS_MONO(32,ulong);
  59.  
  60. /**********************************************************************/
  61. /*****                 Read spans of pixels                       *****/
  62. /**********************************************************************/
  63.  
  64. IMPLEMENT_READ_SPAN(32,ARGB,ulong);
  65. IMPLEMENT_READ_SPAN(32,ABGR,ulong);
  66. IMPLEMENT_READ_SPAN(32,RGBA,ulong);
  67. IMPLEMENT_READ_SPAN(32,BGRA,ulong);
  68.  
  69. /**********************************************************************/
  70. /*****                   Read arrays of pixels                    *****/
  71. /**********************************************************************/
  72.  
  73. IMPLEMENT_READ_PIXELS(32,ARGB,ulong);
  74. IMPLEMENT_READ_PIXELS(32,ABGR,ulong);
  75. IMPLEMENT_READ_PIXELS(32,RGBA,ulong);
  76. IMPLEMENT_READ_PIXELS(32,BGRA,ulong);
  77.  
  78.